package com.sdhs.costcontrol.domain;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.sdhs.businessfile.domain.BusinessFile;
import com.sdhs.common.annotation.Excel;
import com.sdhs.common.core.domain.BaseEntity;

import lombok.Data;

/**
 * 项目决算对象 gc_control_final_accounts
 * 
 * @author wanglei
 * @date 2025-03-11
 */
@Data
public class GcControlFinalAccounts extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 项目决算主键 */
    private Long id;

    /** 关联项目id */
    @Excel(name = "关联项目id")
    private Long projectId;

    /** 决算值 */
    @Excel(name = "决算值")
    private BigDecimal finalAccountsValue;

    /** 决算日期 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "决算日期", width = 30, dateFormat = "yyyy-MM-dd")
    private Date finalAccountsTime;

    /** 备注 */
    @Excel(name = "备注")
    private String remarks;

    /** 创建人 */
    @Excel(name = "创建人")
    private String creater;

    /** 修改人 */
    @Excel(name = "修改人")
    private String updater;

    /** 是否删除，删除标记（0正常 1删除） */
    @Excel(name = "是否删除，删除标记", readConverterExp = "0=正常,1=删除")
    private String isDelete;
    
    /** 项目编号 */
    @Excel(name = "项目编号")
    private String projectNumber;
    
    /** 项目名称 */
    @Excel(name = "项目名称")
    private String projectName;
    
    private List<BusinessFile> fileList;

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("projectId", getProjectId())
            .append("finalAccountsValue", getFinalAccountsValue())
            .append("finalAccountsTime", getFinalAccountsTime())
            .append("remarks", getRemarks())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime())
            .append("creater", getCreater())
            .append("updater", getUpdater())
            .append("isDelete", getIsDelete())
            .toString();
    }
}
